#!/usr/bin/python

import matrizDebil
distancias = matrizDebil.matDebil

import posicionesSemanticas

#TODO: las posiciones de los autores tienen que venir de algun lado REAL


#la base del espacio semantico tiene dimension n
n=12



#tengo una lista de posiciones que agarra
posicion_autores =posicionesSemanticas.pos

p=len(posicion_autores)


autores_que_faltan = []
for i in range(0,174):
	if not i in posicion_autores.keys():
		autores_que_faltan.append(i)

print (autores_que_faltan)

autores_reservados = range(0,18)+[19,20]
print len(autores_reservados)


#genero lista de ecuaciones (van a ser p*(p+1)/2 - p (sacando i=i))
#no agregamos las ecuaciones que son de autor con autor
ecuaciones = []
b=[]
for i in range(0,p):
	if (not i in autores_que_faltan) and (i in autores_reservados):
		for j in range(i+1,p):
			if (not j in autores_que_faltan):
				peso = distancias[i][j]
				if not peso==-1:
					ecuacion =[]
					for d in range(0,n):
						ecuacion.append( (posicion_autores[i][d] - posicion_autores[j][d])**2 )
					ecuaciones.append(ecuacion)
					b.append(peso)
			

#creo los archivos para importar por matlab
salidaA = open("A_d_test","w")
salidaB = open("b_d_test","w")

for e in ecuaciones:
	for v in e:
		salidaA.write(str(v))
		salidaA.write(' ')
	salidaA.write('\n')

for v in b:
	salidaB.write(str(v))
	salidaB.write('\n')
	
	          




